草庐IT

redis 大Key问题

全部标签

c# - 如何将字符转换为等效的 System.Windows.Input.Key 枚举值?

我想写一个这样的函数,publicSystem.Windows.Input.KeyResolveKey(charcharToResolve){//Codegoeshere,thatresolvesthecharToResolve//intotheKeyenumeratedvalue//(Forexamplewith'.'asthecharacterforKey.OemPeriod)}我知道我可以写一个巨大的Switch-case来匹配角色,但还有其他方法吗?问题是Key枚举的字符串可能与字符不匹配,因此Enum.IsDefined将不起作用有什么想法吗?更新:这是在Windows环境下

c# - 从 foreach 中的 Dictionary 中删除一个键会导致问题吗?或者我应该更好地构建一个新的词典?

例如:1.foreach(variteminmyDic){if(item.value==42)myDic.remove(item.key);}无论内部括号中的语句如何影响myDic,迭代器是否会正常工作?2.varnewDic=myDic.where(x=>x.value!=42).ToDictionary(x=>x.key,x=>x.value);第二种方法是好的做法吗?函数式编程和不可变? 最佳答案 第一种方法会在运行时崩溃,因为枚举器确保在枚举时没有人从基础集合中删除。第二种方法是一个不错的想法,但是C#字典是可变的,如果您可

c# - GUID 是(临时)加密的好 key 吗?

我正在生成加密key以使用Rijndael(AES)encryptionalgoritm加密一些敏感数据.我正在使用guid作为key生成器。这些key是否足够“强大”?注意:只敏感20分钟。 最佳答案 没有。可以预测GUIDkey,至少是那些由.NET/WinAPI生成的key。还要记住,GUID甚至没有真正的128位随机性,因为版本号是固定的。这首先会为您提供一个非常弱的key。更糟糕的是,GUID算法的多个版本都存在可预测性问题。关键是GUID不是随机创建的,而是遵循一定的规则,使GUID几乎不可能发生冲突。正如评论中所讨论的

c# - 使用 C# 和 .net 3.5 阅读 RSS 的问题

我一直在尝试编写一些例程来使用System.ServiceModel.Syndication中可用的新例程来读取RSS和ATOM提要,但不幸的是,Rss20FeedFormatter在我尝试的大约一半提要上失败了,但出现以下异常:AnerrorwasencounteredwhenparsingaDateTimevalueintheXML.只要RSS提要以下列格式表示发布日期,就会出现这种情况:Thu,16Oct0814:23:26-0700如果feed将发布日期表示为GMT,则一切顺利:Thu,16Oct0821:23:26GMT如果有某种方法可以使用XMLReaderSettings

c# - Process.StandardInput 或从 C# 代码执行的应用程序的编码问题

我对Process.StandartInput编码有疑问。我在我的Windows窗体应用程序中使用了一些进程,但输入应该是UTF-8。Process.StandardInput.Encoding是只读的,所以我不能将它设置为UTF-8,它会使用Windows默认编码,这会降低UTF-8中良好的native字符。程序中使用了两个进程:一个将输出写入文件,另一个读取。由于我可以将输出编码设置为UTF-8,因此该部分工作正常,但回读是我遇到问题的部分。我将包括我使用流程的部分。ProcessStartInfoinfo=newProcessStartInfo("mysql");info.Red

c# - 使用 CLR 存储过程可以解决哪些好问题?

我在SQLServer中使用CLR存储过程已有一段时间了,但我仍然想知道使用它们的最佳情况是什么。MSDN提供了一些使用指南,例如繁重的字符串操作(regex),或替换声明大量表变量和游标的T-SQL。我很想知道SO用户正在使用CLR存储过程以及示例/基准解决什么问题。例如,我发现CLR存储过程+SSRS是将数据操作逻辑从SSRS和T-SQL中取出并放入更易于阅读和操作的托管代码中的好方法。 最佳答案 许多需要非规范化和/或顺序操作的问题都可以由CLR很好地处理,并且可以用来显着提高性能,而不会牺牲SQL端的可用性(很多)。您可以采

C# List<T> 与 IEnumerable<T> 性能问题

你好,假设这两种方法:privateListGetProviderForType(Typetype){ListreturnValue=newList();foreach(KeyValuePairproviderin_objectProviders){if((provider.Key.IsAssignableFrom(type)||type.IsAssignableFrom(provider.Key))&&provider.Value.SupportsType(type)){returnValue.Add(provider.Value);}}returnreturnValue;}priv

c# - 遍历列表时从列表中删除元素时出现问题

我有一个循环遍历列表中的元素。我需要根据某些条件从循环中的这个列表中删除元素。当我尝试在C#中执行此操作时,出现异常。显然,不允许从正在迭代的列表中删除元素。使用foreach循环观察到该问题。有什么标准的方法可以解决这个问题吗?注意:我能想到的一种解决方案是仅出于迭代目的创建列表的副本,并在循环内从原始列表中删除元素。我正在寻找一种更好的方法来处理这个问题。 最佳答案 使用List时ToArray()方法在这种情况下有很大帮助:Listitems=newList();foreach(MyClassiteminitems.ToArr

c# - WCF契约不匹配问题

我有一个与WCF服务通信的客户端控制台应用程序,但出现以下错误:“服务器没有提供有意义的回复;这可能是由于契约(Contract)不匹配、session过早关闭或内部服务器错误造成的。”我认为这是因为契约(Contract)不匹配,但我不明白为什么。该服务本身运行良好,并且这两个部分一起工作,直到我添加了模拟代码。谁能看出哪里出了问题?这是客户端,全部用代码完成:NetTcpBindingbinding=newNetTcpBinding();binding.Security.Mode=SecurityMode.Message;binding.Security.Message.Clien

C# - 基本问题 : What is '?' ?

这个问题在这里已经有了答案:Whatdoes"DateTime?"meaninC#?(7个答案)关闭9年前。我想知道?在C#中是什么意思?我看到类似这样的内容:DateTime?或int?。我想这是C#4.0特有的?我无法在谷歌中找到它,因为我不知道这个东西的名字。问题是我正在使用DateTime并且我有很多转换错误(从DateTime到DateTime?)。谢谢